The human communication process has evolved over thousands of years to principally include both spoken and written communication. In addition, over time much of the combined knowledge base of the world has been recorded in written form (e.g., in books), so that others are able to more conveniently access and use such information.
With the advent of computer technology, more and more information is stored in an electronic form and accessed via a computer, rather than via the written page. Nonetheless, throughout the evolution of human communication, information has always be regarded as being essentially one-dimensional--that is, a series of ideas strung together in a sequence of words or pages. Book pages and computer displays are each two-dimensional in nature, and may even provide two dimensional representations of three-dimensional objects. However, the basic structure of a collection of information presented in either case is still for the most part one-dimensional insofar as a person processes the information in a generally linear fashion.
A one-dimensional representation of information may be adequate for some when the amount of information is not that great. However, a person may have difficulty fully comprehending a collection of information about a particular topic when the information is located in several sources and/or when the information is associated with several levels of abstraction.
A level of abstraction typically relates to a particular manner of looking at a given collection of information, also referred to as a body of knowledge. Among other criteria, different levels of abstraction may relate to different comprehension levels, e.g., a basic or summary level vs. an advanced level, or different points of view or ways of looking at or stratifying the information.
When accessing information in a body of knowledge (e.g., for performing a particular task relating to such information), a person may be required to manage and understand a number of levels of abstraction at the same time. However, since books and computers typically require a person to access information from one source, and/or from one level of abstraction, at a time, the person may be forced to plod through information in a linear fashion and without the ability to visualize the relationship of the information in the broader scope of the body of knowledge.
Furthermore, in the instances where a person is able to access information from more than one source or level of abstraction, the information is often provided in disjointed views, offering no opportunity for a person to visualize the interaction of information from different levels and/or sources. Many computer systems, for example, use graphical user interfaces (GUIs) through which users are able to interact with various computer programs through intuitive operations such as "pointing and clicking" on graphical display elements--typically various user interface controls such as buttons, edit boxes, check boxes, etc. Information is often presented to a user in a GUI environment using a graphical user interface component known as a window. Each computer program executing in a GUI environment is typically allocated one or more windows to present information to and/or receive input from a user. User interface controls are often grouped together in windows with only the most basic informational labels provided for each control. Moreover, a number of computer systems provide the ability to multitask--that is, to execute more than one computer program at the same time--such that windows from multiple programs may be displayed on a computer display simultaneously.
While information from more than one source or level of abstraction for a body of knowledge may be displayed simultaneously in different windows on a computer system, the relationship between the information displayed in the different windows, as well as the relationship of the information within the broader scope of the body of knowledge, is often not readily discernable by a user. As a result, it can become difficult for a user to manage the information in a coherent manner. Switching between different formats and views can become disorienting and distracting, often significantly impeding the learning process.
One specific difficulty that arises as a result of this information overload is that many users have difficulty comprehending how to perform specific tasks with many computer programs. Many users find computers to be quite counterintuitive despite the best efforts of computer programmers to simplify and standardize the user interfaces of computer programs. A great deal of effort has been expended, for example, in developing online help systems that attempt to answer questions and otherwise provide instructional information to assist a user in performing tasks with a particular program.
Many help systems are provided as separate computer programs that are not particularly well integrated with the computer programs to which they are directed. As a result, instructional materials about a particular computer program, or specifically about particular user interface controls that a user can actuate to perform various tasks with the program, are often provided in separate windows from that of the program, which can distract a user due to the constant need to switch his or her focus back and forth between the computer program and the help system. Furthermore, many help systems are poorly organized and may require a user to expend significant effort in locating a particular set of materials that relate to a given task or topic.
Some help systems provide greater integration with their respective computer programs to reduce the amount of effort a user must expend to access instructional materials about a particular task or topic. For example, some computer programs utilize "bubble" help systems, where a pop-up window is displayed providing more detailed instructions about a particular user interface control whenever a user directs a pointer over the control. In other help systems, specific buttons may be integrated within instructional materials about a particular topic to permit a user to open a window or dialog box suitable to perform a given task related to that topic.
Nonetheless, most computer programs, and in particular most of the user interface controls that are utilized by such programs to perform specific tasks, continue to be by and large presented to a user in a separate and distinct manner from the instructional materials (if any) that a user might require to understand precisely how to use such controls. Consequently, users often waste a significant amount of time attempting to locate and comprehend instructional materials for performing specific tasks in a computer system.
Another difficulty that arises with many computer programs is that different users of a given computer program may have differing levels of training, expertise and/or familiarity with the program, and thus may require different degrees of assistance from a help system over time. Specific users also typically become more adapt at using a program over time, and thus may have differing needs as their understanding of how to use a program grows. Moreover, different features of a computer program may need to be utilized from time to time based upon the particular tasks that a user is attempting to perform. As a result, it becomes extremely difficult, if not impossible, for many help systems to include instructional materials that are both simple enough to be used by a casual user as well as detailed enough to handle more complex questions presented by expert users.
Consequently, a significant need continues to exist for an improved manner of integrating together the presentation of user interface controls and associated instructional material to facilitate understanding and comprehension by a wide variety of users.